#pragma once
#ifndef BOOTSTRAP_DRIVER_INSTALLATION_H
#define BOOTSTRAP_DRIVER_INSTALLATION_H

#include <tchar.h>
#include <windows.h> 

// typedef
typedef TCHAR tchar;

typedef struct 
{
    LPCSTR hardwareId;
    LPCSTR deviceType;
    LPCSTR manufacturer;
    LPCSTR deviceModel;
    void* handle;
    BOOL needReInsert;
} HardwareInfo_t;


typedef struct _EnumWindData
{
    int maxStep;
    int step;
    LPCSTR szFindTitle;
    DWORD pid;
    BOOL isFound;
    int isRunning;
    // public
    LPCSTR hardwareId;
    LPCSTR deviceType;
    LPCSTR manufacturer;
    LPCSTR deviceModel;
    BOOL needReInsert;
} UpdateDriverDataHolder_t;
 

int update_driver_start(HardwareInfo_t* hardwareInfo);

int update_driver_stop(HardwareInfo_t* hardwareInfo);


#endif